Circle or arc generator for graphic display

ABSTRACT

The operations in a data processing system for drawing circles or other geometric figures on a display which are conventionally defined by a series of instructions prepared by a problem programmer are included in a standardized form in a small memory that is made part of the display unit. The problem programmer has only to specify either the starting point of an arc of the center point of a circle, the radius of the arc or circle, and other optional characteristics such as whether the circle or arc is to be drawn clockwise or counter clockwise, whether the beam of the display is blanked or unblanked, and whether additional instructions for drawing additional arc segments are to be expected or requested by the display. Logic and timing means are provided for accessing the memory in response to these values specified by the problem programmer and for generating a desired sequence of X and Y incremental signals for operating the display.

United States Patent i 1111 Childress et al. Jan. 29, 1974 CIRCLE OR ARCGENERATOR FOR GRAPHIC DISPLAY Primary Examiner-Felix D. Gruber [75]Inventors: Lorenza S. Childress, Salisbury Attorney Agent or Funk-WRobertson Mills; Ralph J. Gundrum, Rhineback, both of NY. 1 ABS CT [73]Assignee: International Business Machine e operations in a dataprocessing system for drawing circles or other geometric figures on adisplay Corporation Armonk NY which are conventionally defined by aseries of in Filed! J 1972 structions prepared by a problem programmerare included in a standardized form in a small memory that [21] Appl'267,800 is made part of the display unit. The problem programmer hasonly to specify either the starting point Cl 235/198, 3 /3 A of an arcof the center point of a circle, the radius of [51] Int. Cl. G06f 3/14the arc o circle, and other optional characteristics Field of Searchsuch as whether the circle or are is to be drawn clock- 340/324 A wiseor counter clockwise, whether the beam of the I I display is blanked orunblanked, and whether addi- [5 6] References Cited tional instructionsfor drawing additional arc segments UNITED STATES PATENTS are to beexpected or requested by the display. Logic 3,702,922 11/1972 Hall, Jr.et al. 235/151 and timing means are Pmvided for accessing the 3,696,391/1972 Peronneau 235/198 y in response to these values Specified y the P3,675,231 7/1972 Bezrodny 340/324 A lem programmer and for generating adesired se- 3,594,756 7/1971 Granberg et al 340/324 A quence of X and Yincremental signals for operating 3,555,538 1/l97l Henderson et al340/324 A the display, 3,335,416 8/1967 .Hughes 340/324 A 3,199,1118/1965 Jennings et al. 235/151 x 8 Claims, 4 Drawing Figures REQUESTCHANNEL CHANNEL I 67 I M GROUP1 56 g REQUEST GROUPZ REQUEST MEM N01COMPARE 0 IL NM COMPARh G MEMORY NEXT c X I Y [N 4- NOT ARC MODE 0RADDRE5S COMPARE -SHIFT C//CIRCLE MODE Y TIME 60 x TIME 6 1 fit; ARC MODE59 GROUPl 9 END 0 RADIUS 57 MULTIPLY BLANK- NOT CONTINUE j RESETROTATION *3 1 END 62 v COMPARE n CIRCLE MODE GROUP 2 YADDRESS) GROUP1 G55 XADDRESS CONTINUE AX CIRCLE MODE i Y l DISPLAY T DEGODE PAIENTED1112s 1974 until 1 IF 3 FIGJ RCOSB FIG.2

NEXT CHORD SIN A-SIN B 608 A-COS B CHORD PATENTED v 3.789.200

' 56 ADDRESS BYTE 5 CIRCLE 40 & 4

COMPARE,NOT 0 55 OONTYNOE ARC ADDRESS BYTE 4 & 4

. CONTROL BYTE Y & CONTINUE CONTROL BYTE 2 '& B l

N O SHYFT B BYTE GROUP Y OONTROL BYTE T G BIT POSITIONS Y-T O O T I IRADIUS CONTROL BYTE Y & I ROTATION l CONTROL BYTE 2 & & l

N N O SHIFT &

. & A BEAM 1- & & T l

N N O SHIFT &

BIT POSITIONS 5-7 GROUP 4, CONTROL BYTE 2 0R GROUP 2 G CONTROL BYTE YGROUP 2, CONTROL BYTE 2 G CIRCLE OR ARC GENERATOR FOR GRAPHIC DISPLAYINTRODUCTION Many displays operate as a Cartesian coordinate system andposition a viewable trace on a display face in response to electricalsignals that represent either an X-Y address to which the trace is to bemoved or represent incremental changes from an existing position in theX and Y coordinate system. In the display for which a preferredembodiment of this invention has been developed, the X and Y coordinatesare each divided into 1024 increments called raster units and eachcoordinate is addressable by a 10 bit binary addrsss. Thus, a digitaladdressed display'of this type is not easily suited for drawing circlesand related geometric figures. One familiar technique for drawingcircles in a display with a Cartesian coordinate system of tracepositioning is to apply a sine voltage to the deflection coils orelectrodes of one coordinate and a cosine voltage to the other coordinate. If the frequencies are the same and the amplitudes are thesame, these inputs produce the familiar Lissajous circle pattern.However, in such systems it has been difficult to maintain equalamplitudes so as to maintain the radius equal around the circle. Inaddition, the use of Lissajous patterns requires an oscillator which maynot be required for any other function in the display. A general objectof this invention is to provide a new and improved system that producescircles or related figures in response to. digital inputs of the typeotherwise used in the display.

Alternatively in the prior art, problem programmers have writteninstructions for moving the trace in a series of short increments toform a sequence of connected chords that closely approximate a circle.Such a program might include a table of deflection values as calculatedby the problem programmer himself or it might contain a set ofinstructions for generating these values and another set of instructionsfor putting the values into a form suitable for controlling the display.This procedure is undesirably complex for the problem programmer and itrequires significant amount of main storage space in the data processingsystem for storing the tables and the related instructions.

SUMMARY OF THE INVENTION One object of this invention is to relieve theproblem programmer of the jobof making up the table. The problemprogrammer has only to specify the radius of the circle, the centerpoint of the circle, and several optional parameters that make thesystem more useful. The system of this invention is provided with astorage device that holds a table of trigonometric functions from whicha series of chords forming an approximate circle can be generated as afunction of the parameters supplied by the problem programmer.

Logic and timing circuits are provided for combining the informationproduced by the problem programmer with the information in the memory toproduce electrical signals for controlling the display to producing acorresponding circle. With additional features, the circuit of thisinvention is useful for drawing segments of arcs, for drawing circles orsegments of arcs of dashed lines, and other geometric figures.

More specifically, the problem programmerinitially transmits to thedisplay a starting X address and a starting Y address, and the displaymoves the trace to the designated point in its normal mode of operation.This point is treated as the center of the circle in an operation thatwill be called circle mode and it is treated as the starting point foran are (or a circle) in an operation that will be called arc mode.Otherwise unused bit positions in the data bytes containing the X and Yaddress are used to identify that the display is to begin a circle modeor an arc mode operation. The problem programmer also arranges totransmit next a byte containing the desired radius and another bytecontaining the number of the chord that the system is to draw beforeasking for additional control information or discontinuing the circlemode or arc mode operation. In response to these inputs, the circuit ofthis invention accesses the memory for the trigonometric functions forthe first chord, multiples the functions by the designated radius toproduce AX and AY values, and transmits the incrementing signals to thedisplay for drawing one chord of the arc. The system continues drawingchords from point to point until it reaches the end point defined by theprogrammer.

One of the control bits identifies whether the circle mode or are modeoperation is to continue after the end point. If the operation is tocontinue, the circuit signals the channel that it is ready to accept twomore bytes of the type already described for drawing a further arc.

The system is also adapted to receive an additional two bytes thatspecify two successive end points for two sequences of chords, one ofwhich is blanked and the other of which is unblanked. With this feature,the system easily provides dashed line circles or arcs.

The specific embodiment of the invention is readily adaptable to variousdisplays and to producing a variety of geometric figures.

THE DRAWINGS FIG. 11 is a geometric figure illustrating the method forgenerating arcs that is used by the system of this invention.

FIG. 2 shows schematically a memory and the table of values forgenerating arcs.

FIG. 3 is a block diagram of a circuit for decoding data bytestransmitted to the system of this invention in response to a problemprogram.

FIG. 4 shows a block diagram of the preferred system of this invention.

THE EMBODIMENT OF THE DRAWING Arc Generation FIG. 1 illustrates theoperation of generating a circle as a series of 24 chords. A point 12 isthe center of the circle and it is defined by conventional addressing aswill be described later. The blanked beam is then moved horizontally tothe right by the number of raster units that is specified for the radiusby the problem programmer as shown by a line 13 and a point 14. (Thisdirection is arbitrary but it follows a standard convention indesignating angular positions in coordinates.) A second radius 16 and apoint 17 show the 15 angle of the next radius. As the beam is moved frompoint 114 to point 17, it traces (unless it is blanked) a first chord18. Similarly, a radius line 20 and a third point 21 illustrate another15 increment for which the beam forms a second chord 22. The operationillustrated by FIG. 1 continues around the circle with particular chordsor sequences of chords blanked or unblanked; and the operation mayproceed through 24 chords for a complete circle or it may be ended at apoint chosen by the problem programmer.

The calculation of the AX and AY increments for any chord of the circleis illustrated by the AX and AY increments for moving from point 17 topoint 21. The I5 angle to the first radius line is from the referenceline 13 for this example but will be designated B for generality.Similarly, the second angle which is in fact 30 from the reference line13 will be designated angle A. It can be seen that AX R cos A R cos B,which can be rewritten R (cos A cos B). Since cos 15 is larger than cos30, the term is negative as is appropriate since the trace is movedhorizontally to the left in the example. The signs of the trigonometricfunction of course produce the proper deflection in each quadrant of thecircle. Similarly, the trace is moved upward from point 17 to point 21according to the function R (sin A sin B).

The advantages of dividing a circle into 15 segments are well known invarious situations. For example, the system can produce commonly usedfractions of a circle such as a half circle, a quarter circle, and soon. In addition, the chord subtended by a 15 angle is very close to theactual circumference of the circle and the small difference is notseriously noticeable in a display. The concepts of this invention can beeasily extended to providing chords with larger or smaller angles, butsmaller angles require additional memory capacity for the table and theyprovide no significant improvement in ordinary applications; largerangles make the figure noticeably non-circular and limit the number ofuseful arcs that can be drawn.

From a more general standpoint, the three points l4, l7 and 21 arearbitrary positions with respect to point 12 and consequently anydesired figure of a reasonable number of segments may be drawn. Thus,the radius can be thought of as a scaling factor for such figures.

The Stored Table of FIG. 2 FIG. 2 shows a table of the sin and cosfunctions explained in FIG. 1 for generating an arc of a circle. Thecolumns cos A cos B and sin A sin B have already been explained. Thereis also a column for the sign of the function. Displays are commonlyconstructed to respond to an unsigned address and to a sign bit thatcontrols the addition or subtraction of an incremental address. Thefunctions and values that are stored in the memory are stored in 7 bitbinary form, but for convenience, the corresponding decimal numbers arewritten in the table of FIG. 2. To make the terms more directlyconvertable to binary form, the common denominator 128 is used for eachfraction; only the numerator of a fraction is shown. (The usual decimalrepresentation of binary places to the right of a decimal point asone-half, one-fourth, one-eighth can be equivalently represented as64/128, 32/128, 16/128 l/l28. Thus, a decimal term of the table such as33 can be easily represented as 0l0000l corresponding in decimalnotation to 32/128 l/128. Note that the numbers in the tables also equalthe AX or AY increments for a radius of 128 units.)

Circuits for holding the tables of FIG. 2 are well known in variousforms and are commonly called control memories" or read only memories."FIG. 4 shows such a memory in relation to other components of thesystem. Such circuits respond to a multi-bit input called an address toproduce the data previously stored at the address. In the table of FIG.2, a column has been drawn with the addresses I through 24 for the 24segment generating functions of the table. These addresses in anassociatively addressed memory would represent the contents of actualdata storage locations, but for more conventional storagedevices, thecorresponding logic is contained in an address decoder circuit (30 inFIG. 4) that selects the desired word of the memory from an addresssupplied on an address bus. Thus, in the sense that the storage deviceresponds to predetermined input data (an address) and produces relatedoutput date (the addressed memory word), the table can be stored incircuits known by such names as decoders and translators.

The operation of stepping through the sequence of words in the table ascorresponding are generating operations take place in the display can beprovided in various known ways. For example, a 24 bit ring can bestepped to successively address each word in sequence. The drawingillustrates the technique common with read only memories of storing thenext address with the word that is being read out. The correspondingfield in the data register in the memory is then used to access the nextword. The actual signals for advancing to the next operation areprovided by the signal that the display itself produces as a normaloperation to signal that is is ready to accept a next address. As amodification to the table of the drawing, the table may include a 0address term for generating the first increment shown in FIG. 1 as line13 in which AX R, AY O.

The Data Format And The Decode Circuit of FIG. 3 The problem programmerprovides instructions to the system of this invention in a format thatcorresponds to the requirements of a particular display. The format andthe decoding circuits shown in FIG. 3 are particularly adapted tooperate with a commercially available display called the 2,250 anddescribed in a publication entitled IBM System/360 ComponentDescription; IBM 2250 Display Unit," Cat. No. A27270l A272702 andA272721, available from the assignee of this invention.

In such a system, a channel or other apparatus transmits data to thedisplay as a byte of 8 bits and the byte is stored in a register orbuffer memory 34. For positioning the trace at a selected point on thedisplay face, the channel transmits four bytes (32 bits) that contain a10 bit X address, a 10 bit Y address, and 12 bit positions that areavailable for various control purposes. In the normal operation, thedisplay responds to the X and Y addresses in these bytes to move thetrace to a selected point on the face of the display; when the system isin circle mode this point corresponds to point 12 in FIG. 1, the centerof the circle to be drawn. For its normal operations, the displayincludes means for recognizing particular bit positions and bytepositions in such a group of bytes.

In the preferred embodiment of this invention, a l in bit position 2 ofthe third byte signals that the circuit of this invention is to operatein circle mode. Similarly, a l in bit position 2 of the fourth byte ofthe address group identifies that the circuit of this invention is tooperate in arc mode. For decoding these conditions, a latch 35 has itsset input connected to an AND gate 36 to receive bit position 2 of thedate register and a latch 37 is connected to an AND gate 38 to similarlyreceive the same bit position. An input 40, provided by the display toidentify the third byte, enables gate 36 to set the latch circle inresponse to the circle mode bit and an input 41 enables gate 38 tosimilarly respond to the arc mode bit.

The problem programmer provides two more bytes that the data processingsystem transmits to the display in response to a request made by thedisplay as the normal result of completing the preceding operation andthe fact that the system is in circle mode or arc mode. The bytes areidentified by'signals CONTROL CY'TE I and CONTROL BYTE 2, and this groupof two bytes is identified by a signal GROUP 1. Bit position in thesebytes identifies whether the operation is to continue beyond the arcsegment. This bit would always contain a 0 if the programmer intends todraw a complete circle in one operation, and it will also contain a 0 ifthe programmer intends to draw only a single segment of an arc and thengo-to some other operation. If a l is held in this bit position of byte1, a latch 40 is set and if a l is held in this bit position of byte 2,a latch 41 is set. Logic is provided for shifting the contents of latch41 to latch 40 for a variation of the simple circle mode operation, aswill be described later. In one useful application of the continue bit,a program can keep the trace blanked for the first arc to move the traceto a particular position on the circumference of the circle and theprogram can then transmit another are defining a group of bytes to drawa visable arc from that point. Similarly, the programmer could draw acircle defined by one control word and then draw a further fraction of acircle to position the trace at any particular point on thecircumference for beginning some other graphic operation. I

Bits 1 through 7 of the first of these two bytes define a seven bitradius and this portion of the input data register is transferred to aseparate register to to be used for generating the X and Y increments.The gating is similar to the gates described for the latches CON- TINUEexcept that the block with the legend G represents an individual ANDgate for each bit of the radius word.

The second of these two bytes contains in bit position 3 through 7 a bitnumber called END defining the last segment to be drawn and,equivalently, the last word to be fetched from the memory. Logic shownin the drawing loads the word END into a 5 bit register. Logic meanssimilar to the logic for latches CONTINUE provides for simultaneouslystoring two such END words and for shifting from one to the'other. Bitposition 2 defines the negative (clockwise) or positive (counterclockwise) rotation for the arc. Bit position 1 defines whether the beamis blanked or unblanked. These bits are stored in latches that aresimilar to the latches already described. The logic and timing for theselatches will be easily understood when their operations are describedlater. The latches of 'FIG. 3 can be thought of as a multi-bit registerand from a more general standpoint, they form means for storing singlebit parameters specified by the problem program.

As the circuit has been described so far, the following operations havetaken place. The display has responded in its normal fashion to theaddress and has moved the trace to this position. The radius number hasbeen loaded into register RADIUS and the number of the end point hasbeen loaded into register END. The latches CONTINUE, ROTATION, and BEAMhave been set or left reset according to the corresponding bit positionsof the two control words. The system is now ready to generate the arcdefined by these registers and latches without further control from thechannel. The operation just described can also be considered from thestandpoint of the program that is supplied by a problem programmer. Todraw a circle of a selected radius, the programmer supplies only 6 bytesto register 34 of FIG. 3. Bytes l through'4 contain in conventionalformat the address of the center of the circle, and bit 2 of byte 3contains a l to signify that a circle is to be drawn. The systemresponds to these 4 bytes by moving the trace of the display to thespecified address and by setting latch 35 in FIG. 3. Byte 5 contains theradius length in byte positions I through 7. Bit position 0 isinsignificant and may be either a l or a 0. Byte 6 has a 0 in bitposition 0 to signify that there are no more control bytes in thiscircle drawing operation. Bit position 1 contains a 0 to signify thatthe beam is not to be blanked. Bit position 2 contains a I to signifythat the circle is to be drawn counter clockwise, and bit positions 3through 7 contain the number 24 to signify that the system is to drawthe 24 chords of a complete circle. The system then operates withoutfurther intervention by the problem programmer. If bit 2 of byte 3 hadcontained a 0 and bit 2 of byte 4 had contained a l, the system wouldhave operated in arc mode to draw the same circle except that the firstchord would start from the point addressed in bytes 1 through 4. In themore usual arc mode operation, bit positions 3 through 7 of byte 6 wouldspecify only a fraction of the 24 chords for the full circle of thisexample.

The System of FIG. 4 Circle Mode The components and operations of thesystem of FIG. 4 can be understood most easily by considering that theonly significant changes to the display are shown in the drawing andthat in circle mode or are mode the display communicates with the systemof this invention in the same way that it would otherwise communicatewith the channel or other data source. Thus, the display produces asignal REQUEST-on a line to signal the end of a preceding operation andto request control bytes from the channel for a next operation. In thesystem of FIG. 4, gates 51, 52 transmit the request directly to thechannel except when the system is to receive its deflection signals fromthe memory.

Similarly, the channel normally transmits control bytes to a displaydecode circuit that produces the ad dress and control signals that areshown in the drawing. When the system is in circle mode or are mode, theoutputs of the display decode circuit are inactive and some of thesignals are produced by the system of FIG. 4. Preferably, the displaydecode circuit receives the signal CONTINUE which disables the decodecircuit until the last byte group for a circle or arc mode operation hasbeen received. This signal may also be used to permit operations by thedisplay decode circuit and the channel that are independent of thecircle or are mode operation.

A gate 55 responds to the signals CIRCLE MODE and the signal GROUP llidentifying the presence of the first control byte in the data registerfor transmitting the multi-bit word RADIUS to the X address input of thedisplay. In response to this signal, the display moves the trace to theright by the distance defined by the word RADIUS and it transmits asignal REQUEST.

A gate 56 responds to the signal REQUEST, a signal NOT COMPARE thatsignifies that the system has not yet completed the series of chordsdefined by the current control bytes, and to a signal described later,to

transmit a multi-bit next address from the next address field of thememory data register to the address circuit of the memory. In responseto such an address, the memory produces in its data-register thefunction and address fields of the addressed word.

The system of FIG. 4 includes a digital miltiplier 55 that receives thesignal RADIUS from the circuit of FIG. 3 and the appropriate functionfield from the memory data register and produces outputs that areapplied to the AX and AY inputs of the display. The AX and AY incrementsare generated separately in a sequence defined by timing signals X TIMEand Y TIME. Gates 57 and 59 respond to the signal X TIME to transmit thecontents of the cosine function field of the memory data register tomultiplier 55 and to transmit the product produced by multiplier 55 tothe display. Similarly, gates 58 and 60 transmit the contents of thesine function field of the memory data register to multiplier 55 andtransmit the output of the multiplier to the display. Many suitabledigital multipliers are well known. Preferably, the contents of theselected function field of the memory data register are shifted once foreach bit position of the multi-bit word RADIUS and the shifted fieldsare accumulated where a 1 appears in the corresponding bit position ofthe word RADIUS.

The display responds to the signals from multiplier 55 in the same waythat it would otherwise respond to signals from the channel and it againproduces the signal REQUEST at the end of the operation to produce thechord defined by the multiplier output. The operation just describedcontinues from chord to chord until the chord defined by the problemprogrammer in the word END is reached. A compare circuit 62 compares thecurrent address field of the memory data register with the word END andproduces NOT COMPARE, introduced as an input to gate 53, and COMPARE.When the operation has reached the end chord, the function NOT COMPARE Odisables gate 56 to prevent the memory from responding to the nextrequest. The signal COMPARE operates in gates 51 and 52 to transmit therequest to the channel. A channel may transmit two additional controlbytes for drawing another are or it may go to another routine. The lastcontrol byte in an arc, drawing operation is identified by the CONTINUEbit in the first control byte and an AND gate 65 responds to the signalsCOMPARE and NOT CON- TINUE to reset the next address field of the memorydata register to address position 1.

The System of FIG. 4 GROUP 2 Control Bytes The decode circuit of FIG. 3is arranged to handle an alternate control byte format that isparticularly useful for programming a dashed line circle or otherfigures in which the system is to continue an operation in the same modeand with the same radius but with some of the other control bitschanged. A two byte group identified by a signal GROUP, 2 has the formatof control byte 2 of group 1 and this provides two successive endpoints. When the operation has reached the first point desired at theoutput of the decode circuit of FIG. 3, a logic network 67,68,69 routesthe resulting COM- PARE signal to shift the circuits of FIG. 3 and toenable gate 56 to respond to the associated REQUEST for fetching thenext deflection word from the memory. When the operation reaches thepoint defined by the second word END, the resulting compare is routed tocircuit 51 for transmitting signal REQUEST to the channel in the wayalready described.

The System of FIG. 4 Arc Mode The components of the system that havebeen described so far can be used for drawing various noncircularconfigurations by appropriate arrangement of the control bytes. It isoften useful to draw an are from a predetermined point, and the systemof FIG. 4 includes components that substantially simplify programmimgsuch an operation.

As has already been explained in relation to FIG. 3, the latch ARC MODEis set in response to a l in bit position 2 of address byte 4. Thesignals ARC MODE and CIRCLE MODE are combined in an OR logic function sothat many of the operations described for circle mode are performed alsofor are mode. Gate 55 opens only in response to the signal CIRCLE MODEand consequently the trace is not offset by the radius value as it is incircle mode.

In are mode the system can provide functions starting at any selectedpoint in the table so that a chord of any available angle can be formedfrom the previously addressed point on the display face. Logic means isprovided for loading the next address field of the memory data registerfrom the END field of control byte 2 of group 1. A group 2 byte is thentransmitted with two END words as in the operation on group 2 bytes incircle mode.

Other Operations The preferred embodiment of the invention can beoperated to provide a wide variety of geometric figures that are made upfrom chords defined in the memory and parameters defined by the problemprogram. The system can be readily adapted to other types of graphicdevices having a Cartesian coordinate addressing system and it can beadapted to apparatus having various specific control word formats. Thelogic and timing functions of FIGS. 3 and 4 can be provided in many wellknown ways and a specific embodiment will be suggested in part by theorganization at least in part of chords of a circle, comprising;

means for storing a table of functions defining a succession of chords,

means for decoding data bytes supplied by a problem program includingfirst means for decoding a byte defining an operating mode in which thesystem is to produce one of said figures,

means operable when said system is in said mode for accessing said tablestoring means for a function defining a next chord,

means connected to receive the accessed function for forming chorddefining signals and means for transmitting said signals to said device,and

means for identifying the position of an accessed chord in saidsuccession of chords, said decoding means including second meansresponsive to a set of control bits supplied by a problem programdefining an end chord, and means for comparing said position of anaccessed chord and said signal defining said end chord for signallingthe completion of the end chord to said means for accessing said tablestoring means,

whereby a graphic device is controlled to form a selected figure inresponse to said bytes supplied by said problem program without furtherintervention by said problem program.

2. The system of claim 1 wherein said means for decoding data bytescomprises third means for storing a radius length word supplied by saidproblem program, and

said means for forming chord defining signals includes a multiplier formultiplying the radius length by a function accessed in said table toproduce said chord defining signals, whereby circles or related figuresof preselected radius may be formed by said device in response tocontrol bits supplied by said problem program defining said end, saidradius, and said operating mode. 3. The system of claim 2 wherein saidfirst means for decoding bytes produced by a problem program includesmeans to decode and store a first bit defining a circle mode or a secondbit defining an arc mode operation called for by said problem program,and

said means to form said chord defining signals includes means operablein said circle mode before forming said first chord to control saiddevice to move its trace in a predetermined direction by said radiuslength,

whereby the trace position defined by an operation immediately precedingsaid radius length storing operation defines the center of a circle or apartial circle to be formed.

4. The system of claim 3 wherein said decoding means includes meansoperable in arc mode for storing control bits defining a selectedstarting address in said table storing means, and

said means for accessing said table storing means includes means tobegin an accessing sequence at a predetermined position in said circlemode and at said selected starting address in are mode.

5. The system of claim 2 wherein said means for decoding includes fourthmeans for controlling said device according to a control bit position ina byte supill) plied by a problem program defining a blanked orunblanked condition for said device, whereby the trace may be moved to aposition defined by a sequence of chords without visible representationin the device.

6. The system of claim 5 wherein said second means for decoding includesmeans operable in response to a first group of control bytes to storesaid end value and includes means differently responsive to a secondgroup of control bytes to store first and second end values, and

said means for signalling the completion of an end chord includes meansrepsonsive to the completion of a chord succession defined by a firstend value to begin an operation defined by the second end value andresponsive to the completion of said chord defined by said second endvalue to produce a request to the problem program source for a nextmessage.

7. The system of claim 6 wherein said first means for decoding bytesproduced by said problem program includes means responsive topredetermined bit positions in the message format for other deviceoperations,

and said decoding means is operable only when said system is in saidmode,

whereby the trace of said device moved to a starting position fordrawing one of said figures in response to a message containing a modedefining bit and thereafter responds to a subsequent message containingbits defining said end chord, said radius, and other parameters.

8. The system of claim 7 wherein said decoding means includes fifthmeans responsive to a bit defining whether the operation is to continuewith further such control bytes after an end chord forming operation,and

said chord forming means includes means responsive to said continue bitto selectively reset or maintain the accessing position for said tablestoring means at the completion of an end chord forming operatron.

1. A system for controlling a graphic device to produce one of aplurality of geometric figures composed at least in part of chords of acircle, comprising; means for storing a table of functions defining asuccession of chords, means for decoding data bytes supplied by aproblem program , including first means for decoding a byte defining anoperating mode in which the system is to produce one of said figures,means operable when said system is in said mode for accessing said tablestoring means for a function defining a next chord, means connected toreceive the accessed function for forming chord defining signals andmeans for transmitting said signals to said device, and means foridentifying the position of an accessed chord in said succession ofchords, said decoding means including second means responsive to a setof control bits supplied by a problem program defining an end chord, andmeans for comparing said position of an accessed chord and said signaldefining said end chord for signalling the completion of the end chordto said means for accessing said table storing means, whereby a graphicdevice is controlled to form a selected figure in response to said bytessupplied by said problem program without further intervention by saidproblem program.
 2. The system of claim 1 wherein said means fordecoding data bytes comprises third means for storing a radius lengthword supplied by said problem program, and said means for forming chorddefining signals includes a multiplier for multiplying the radius lengthby a function accessed in said table to produce said chord definingsignals, whereby circles or related figures of preselected radius may beformed by said device in response to control bits supplied by saidproblem program defining said end, said radius, and said operating mode.3. The system of claim 2 wherein said first means for decoding bytesproduced by a problem program includes means to decode and store a firstbit defining a circle mode or a second bit defining an arc modeoperation called for by said problem program, and said means to formsaid chord defining signals includes means operable in said circle modebefore forming said first chord to control said device to move its tracein a predetermined direction by said radius length, whereby the traceposition defined by an operation immediately preceding said radiuslength storing operation defines the center of a circle or a partialcircle to be formed.
 4. The system of claim 3 wherein said decodingmeans includes means operable in arc mode for storing control bitsdefining a selected starting address in said table storing means, andsaid means for accessing said table storing means includes means tobegin an accessing sequence at a predetermined position in said circlemode and at said selected starting address in arc mode.
 5. The system ofclaim 2 wherein said means for decoding includes fourth means forcontrolling said device according to a control bit position in a bytesupplied bY a problem program defining a blanked or unblanked conditionfor said device, whereby the trace may be moved to a position defined bya sequence of chords without visible representation in the device. 6.The system of claim 5 wherein said second means for decoding includesmeans operable in response to a first group of control bytes to storesaid end value and includes means differently responsive to a secondgroup of control bytes to store first and second end values, and saidmeans for signalling the completion of an end chord includes meansrepsonsive to the completion of a chord succession defined by a firstend value to begin an operation defined by the second end value andresponsive to the completion of said chord defined by said second endvalue to produce a request to the problem program source for a nextmessage.
 7. The system of claim 6 wherein said first means for decodingbytes produced by said problem program includes means responsive topredetermined bit positions in the message format for other deviceoperations, and said decoding means is operable only when said system isin said mode, whereby the trace of said device moved to a startingposition for drawing one of said figures in response to a messagecontaining a mode defining bit and thereafter responds to a subsequentmessage containing bits defining said end chord, said radius, and otherparameters.
 8. The system of claim 7 wherein said decoding meansincludes fifth means responsive to a bit defining whether the operationis to continue with further such control bytes after an end chordforming operation, and said chord forming means includes meansresponsive to said continue bit to selectively reset or maintain theaccessing position for said table storing means at the completion of anend chord forming operation.